extends PanelContainer
@onready var 边框 = %"边框"
@onready var 进度条 = %"进度条"
@onready var 进度条容器 = %"进度条容器"
@onready var 图标 = %"图标"
@onready var 名字 = %"名字"
@onready var 加成图标 = %"加成图标"
@onready var 背景 = %"背景"
@onready var audio_stream_player = $AudioStreamPlayer

const 加成状态:Dictionary={
	升高=preload("res://素材/Sprite/TriangleArrows_Up.png"),
	降低=preload("res://素材/Sprite/TriangleArrows_Down.png"),
	不变=preload("res://素材/Sprite/Minus.png")
}

var 状态数据:状态数据类:
	set(value):
		状态数据=value
		if 状态数据!=null:
			边框.color=状态数据.状态颜色
			进度条.color=状态数据.状态颜色
			图标.texture=状态数据.状态图标
			名字.text=状态数据.状态名
			状态数据.当前值变化.connect(刷新进度条)
			刷新进度条()

func 刷新进度条():
	var 进度条长度:float=进度条容器.custom_minimum_size.x
	进度条.custom_minimum_size.x=进度条长度*(状态数据.当前值-状态数据.最小值)/(状态数据.最大值-状态数据.最小值)
	加成图标.显示加成图标(状态数据.加成值)

func _on_mouse_entered():
	背景.self_modulate=Color.BURLYWOOD
	audio_stream_player.play()

func _on_mouse_exited():
	背景.self_modulate=Color.WHITE
